const KoaBouncer = require('koa-bouncer')
class userValidator {
    // 用户名
    usernameValidator(ctx) {
        // 判断客户端的合法性
        try {
            ctx.validateBody('username')
                .required('username必须得传值')
                .isString()
                .trim()
                .isLength(4, 8, "用户名必须是4—8位")
            // 验证通过
            return true
        } catch (error) {
            if (error instanceof KoaBouncer.ValidationError) {
                ctx.body = {
                    code: 10001,
                    msg: error.message
                }
                return
            } else {
                throw error;
            }
        }
    }
    // 密码
    passwordValidator(ctx){
        try {
            ctx.validateBody('password')
                .required('password必须得传值')
                .isString()
                .trim()
                .isLength(8, 16, "密码不能为空且必须是8—16位")
            // 验证通过
            return true
        } catch (error) {
            if (error instanceof KoaBouncer.ValidationError) {
                ctx.body = {
                    code: 10001,
                    msg: error.message
                }
                return
            } else {
                throw error;
            }
        }
    }
}

module.exports = new userValidator